<?php 
/**
 * Класс отображения
 * @author bikmullin
 * @version 1.0
 */
class face
{
    /**
     * show_messages 
     * функция, отображающая тело гостевой книги
     * @param obj $engine объект доступа к базе данных
     */
    function show_messages($engine)
    {
        //инциализируем строку вывода
        $out = "";
        //берем из базы сообщения
        $messages = $engine->get_messages();
        //если массив с сообщениями не пустой
        if(!empty($messages))
        {
            //перебираем его
            foreach($messages as $message)
            {
                //записываем в строку $out готовый html код содержащий комментарии к сообщению
                $out .=  "<div class = 'guestbook'>
                <p>Date:{$message['message_date']}</p>
                <p>Message:<br /><textarea cols='45' rows='5' readonly='readonly'>{$message['text']}</textarea></p>
                <a href='".PATH_TO_ROOT."handler.php?action=edit&tbl_name=messages&id={$message['id']}'>Редактировать</a>
                <a href='".PATH_TO_ROOT."handler.php?action=delete&tbl_name=messages&id={$message['id']}'>Удалить</a>
                <a href='".PATH_TO_ROOT."handler.php?action=comment&id={$message['id']}' >Комментировать</a>";
                //вызов функции для вывода комментариев к текущему сообщению
                $out .= $this->show_comments($engine, $message['id']);
                $out .= "</div>";
            }
        }
        else return false;
        //вывод тела гостевой книги
        echo stripslashes($out);
    }
    /**
     * show_comments
     * Функция, отображающая комментарии к определенному сообщению
     * @param obj $engine объект доступа к базе данных
     * @param int $id идентификатор сообщения
     * @return string строка с html кодом комментариев
     */
    function show_comments($engine, $id)
    {
        //инициализируем строку вывода
        $out = "";
        //берем комментарии из базы данных
        $comments = $engine->get_comments($id);
        //если массив с комментариями не пустой
       if($comments != false )
       {
           //перебираем его
           foreach($comments as $comment)
               {
        	       //записывает в строку $out готовый html код содержащий комментарии к сообщению
        	       $out .=  "<div class = comment>
        	                    <p>Date:{$comment['comment_date']}</p>
        	                    <p>Message:<br /><textarea cols='45' rows='5' readonly='readonly'>{$comment['text']}</textarea></p>
        	                    <a href='".PATH_TO_ROOT."handler.php?action=edit&tbl_name=comments&id={$comment['id']}'>Редактировать</a>
        	                    <a href='".PATH_TO_ROOT."handler.php?action=delete&tbl_name=comments&id={$comment['id']}'>Удалить</a>
        	                 </div>";
               }
        //возвращаем строку с html кодом
       return $out;
       }
       //если массив с комментариями пуст, вернуть ложь
       else return false;
    }
    /**
     * show_message_with_comments
     * Функция для вывода одного сообщения с комментариями к нему
     * @param obj $engine объект доступа к базе данных
     * @param int $id идентификатор сообщения
     */
    function show_message_with_comments($engine, $id)
    {
        //берем сообщение из базы и помещаем в ассоциативный массив
        $message = $engine->get_message("messages", $id);
        //запись в строку вывода сообщения
        $out = "<div class='guestbook'>
        		    <p>Date:{$message['message_date']}</p>
          			<p>Message:<br /><textarea cols='45' rows='5' readonly='readonly'>{$message['text']}</textarea></p>";
        //дозапись в строку вывода комментариев
        $out .= $this->show_comments($engine, $id);
        //вывод на страницу
        echo $out;
    }
}
?>